#包里面的randomForest()函数有两点不足：
#第一，它不能处理缺失值，使得用户必须在使用该函数之前填补这些缺失值；
#第二，每个分类属性的最大数量不能超过32个

ind <- sample(2, nrow(iris), replace=TRUE, prob=c(0.7, 0.3))
trainData <- iris[ind==1,]
testData <- iris[ind==2,]

library(randomForest)
# Species ~ .指的是Species与其他所有属性之间的等式
rf <- randomForest(Species ~ ., data=trainData, ntree=100, proximity=TRUE)
table(predict(rf), trainData$Species)

#在测试集上测试训练集上建立的随机森林，并使用table()和margin()函数检测预测结果。
irisPred <- predict(rf, newdata=testData)
table(irisPred, testData$Species)
# 绘制每一个观测值被判断正确的概率图
plot(margin(rf, testData$Species))